#ifndef UTILS
#define UTILS
#include <iostream>
#include <string>
#include <cstdlib>
#include <string>
#include <time.h>
#include <sys/timeb.h>
#include <boost\random\uniform_int.hpp>
#include <boost\random\variate_generator.hpp>
#include <boost\random\mersenne_twister.hpp>

using namespace std;

#define KEY_SIZE 10;

static const char alphanum[] =
"0123456789"
"!@#$%^&*"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz";

static const int stringLength = sizeof(alphanum) - 1;

int s__;

static char GenRandom()
{
    return alphanum[rand() % stringLength];
}

static char* GetRandomString ()
{
		s__++;
		int size = KEY_SIZE;
		srand(s__);
		char* hash = new char[size];
	
	for (int i =0; i<size; i++)
	{
		hash[i]=GenRandom();
	}
	hash[size] = '\0';
	return hash;
}

static enum TASK_STATUT
{
	SENT=0,
	COMPLETED,
	PENDING
};

static enum VALUE_TYPE
{
	VALUE_TYPE_STRING=0,
	VALUE_TYPE_INT32,
	VALUE_TYPE_FLOAT
};


#endif

